package com.petdog.module.tools.service;

import org.springframework.web.multipart.MultipartFile;

import java.util.Map;

/**
 * 宠物图像识别服务接口
 */
public interface PetRecognitionService {

    /**
     * 检测图像中是否包含宠物
     * @param file 图像文件
     * @return 是否包含宠物
     */
    boolean detectPetInImage(MultipartFile file);

    /**
     * 识别宠物品种
     * @param file 图像文件
     * @return 识别结果（品种名称和置信度）
     */
    Map<String, Double> recognizePetBreed(MultipartFile file);

    /**
     * 使用SIFT算法进行图像特征匹配
     * @param file1 第一张图像
     * @param file2 第二张图像
     * @return 匹配度（0-100%）
     */
    double matchPetFeatures(MultipartFile file1, MultipartFile file2);

    /**
     * 上传宠物照片并保存
     * @param file 图像文件
     * @return 保存后的文件URL
     */
    String uploadPetPhoto(MultipartFile file);
}